<!DOCTYPE HTML>
<html>
    <head>
        <?php include 'content.php'; ?>
        <script type="text/javascript">
            $(document).ready(function () {

                $(".table").dataTable({
                    "oLanguage": {
                        "sLengthMenu": "Visualiza _MENU_ usuarios por página",
                        "sZeroRecords": "No hubo coincidencias",
                        "sInfo": "Mostrando _START_ de _END_ de _TOTAL_ usuarios",
                        "sInfoEmpty": "Mostrando 0 de 0 de 0 usuario",
                        "sInfoFiltered": "(filtrado de _MAX_ usuarios)",
                        "sSearch": "Buscar",
                        "oPaginate": {
                            "sFirst": " Primera ",
                            "sNext": " Siguiente ",
                            "sPrevious": " Anterior ",
                            "sLast": " Ultima "
                        }
                    },
                    "bLengthChange": false,
                    "iDisplayLength": 10
                });                

                $("#fecha").datepicker(OPTIONS_DATE_PICKER);
                $("#fecha").attr("readonly", "true");
                
                $("#dialog-form").dialog({
                    autoOpen: false,
                    height: 400,
                    width: 450,
                    modal: true,
                    buttons: {
                        "Salvar": function () {
                            $("form[name='formAgregar']").submit();
                        },
                        "Cancelar": function () {
                            $(this).dialog("close");
                        }
                    }
                });
                              

                $("#formAgregar").validate({
                    rules: {
                        ci: {
                            required: true,
                            minlength: 5,
                            digits: true
                        },
                        nombre: {
                            required: true,
                            minlength: 2,
                            notEqualTo:  "#apellido"
                        },
                        apellido: {
                            required: true,
                            minlength: 2,
                            notEqualTo:  "#nombre"
                        },
                        email: {
                            email: true,
                            minlength: 2
                        },
                        phone: {
                            digits: true,
                            minlength: 5
                        },
                        sexo: {
                            required: true
                        },
                        idRol: {
                            required: true
                        },
                        contrato: {
                            required: true,
                            minlength: 2
                        },
                        fecha: {
                            required: true
                        },
                        password: {
                            required: true,
                            minlength: 5
                        },
                        repetir: {
                            required: true,
                            equalTo: "#password"
                        }
                    },
                    messages: {
                        ci: {
                            required: "Por favor, ingresa la cédula",
                            minlength: "La Cédula debe tener al menos 5 caracteres",
                            digits: "La cédula solo acepta dígitos númericos"
                        },
                        nombre: {
                            required: "Por favor, ingresa el nombre",
                            minlength: "El nombre debe tener al menos 2 caracteres",
                            notEqualTo: "El nombre no puede ser igual al apellido"
                        },
                        apellido: {
                            required: "Por favor, ingresa el apellido",
                            minlength: "El apellido debe tener al menos 2 caracteres",
                            notEqualTo: "El apellido no puede ser igual al nombre"
                        },
                        email: {
                            email: "Por favor, ingresa un correo valido. Ej. tucorreo@dominio.com",
                            minlength: "El correo debe tener al menos 2 caracteres"
                        },
                        phone: {
                            digits: "El teléfono solo acepta dígitos númericos",
                            minlength: "El telefono debe tener al menos 5 caracteres"
                        },
                        sexo: {
                            required: "El sexo es requerido"
                        },
                        fecha: {
                            required: "La fecha de nacimiento es requerida"
                        },
                        idRol: {
                            required: "El rol es requerido"
                        },
                        contrato: {
                            required: "Por favor, ingresa el número del contrato del cliente",
                            minlength: "El contrato debe tener al menos 2 caracteres"
                        },
                        password: {
                            required: "Por favor, ingresa la contraseña",
                            minlength: "La clave debe tener al menos 5 caracteres"
                        },
                        repetir: {
                            required: "Por favor, verifica la contraseña",
                            equalTo: "La verificación de contraseña no coincide"
                        }
                    }
                });            
                
                $("#formAgregar").submit(function () {
                    if ($("#formAgregar").validate().form()) {                        
                        $.ajax({
                            data:  $("#formAgregar").serialize(),
                            url:   '<?php echo $_SERVER['HELPER'] ?>?action=usuario&method=save&result=ajax',
                            type:  'post',
                            beforeSend: function () {
                            },
                            success:  function (data) {                                
                                
                                var info = JSON.parse(data);
                                                        
                                alert(info.msj);
                                
                                if (info.estatus== AJAX_SUCCESSFUL){
                                    if ($("#id").val() != 0) {                                                                                
                                        $("#data-u").dataTable().fnDeleteRow($("#data-u").dataTable().$('tr.row_selected')[0]);                                        
                                    }
                                    
                                    var addId = $("#data-u").dataTable().fnAddData([
                                        $("#nac").val().toUpperCase() + " " +  $("#ci").val(),
                                        $("#nombre").val().toUpperCase(),
                                        $("#apellido").val().toUpperCase(),
                                        $("#email").val().toUpperCase(),
                                        $("#idRol option:selected").text().toUpperCase(),
                                        "<img src='../images/user_edit.png' onclick='saveOrUpdate(" + info.id + ")' " +
                                            "width='16' " +
                                            "height='16' " +
                                            "alt='' " +
                                            "title='Actualizar Usuario' />",
                                        "<img src='../images/user_remove.png' onclick='deleteU(" + info.id + ")' " +
                                            "width='16' " +
                                            "height='16' " +
                                            "alt='' " +
                                            "title='Eliminar Usuario' />"]);

                                    var theNode = $('#data-u').dataTable().fnSettings().aoData[addId[0]].nTr;
                                    theNode.setAttribute('id', info.id);    
                                    
                                    $("#dialog-form").dialog("close");
                                }                                                                
                            }
                        });              
                    }
                    return false;
                });         
                
                $("#idRol").change(function(){                
                    if ($("#idRol option:selected").text().trim()=="CLIENTE"){                        
                        $("#contrato").val("");
                        $("#contrato").removeAttr("readonly");
                    }else{
                        $("#contrato").val($("#contrato").attr("placeholder"));
                        $("#contrato").attr("readonly", "true");
                    }                
                });                                
            });
            
            function saveOrUpdate(id) {
                var title = (id == 0) ? "Crear Usuario" : "Actualizar Usuario";

                $("#formAgregar").reset();

                $("#nac").removeAttr("readonly");
                $("#ci").removeAttr("readonly");
                
                $("#contrato").val($("#contrato").attr("placeholder"));
                $("#contrato").attr("readonly", "true");

                if (id == 0) {             
                    $("#id").val("0");                    
                    $("#idLogin").val("0");                    
                } else {
                    $("#id").val(id);     
                    $("#"+id).addClass('row_selected');  
                    
                    $.ajax({
                        data:  $("#formAgregar").serialize(),
                        url:   '<?php echo $_SERVER['HELPER'] ?>?action=usuario&method=query&result=ajax',
                        type:  'post',
                        beforeSend: function () {
                        },
                        success:  function (data) {                                                          
                            var info = JSON.parse(data);
                            
                            if (info.estatus== AJAX_SUCCESSFUL){                                
                                $("#id").val(info.id);
                                $("#idLogin").val(info.idLogin);
                                $("#nac").val(info.nac);
                                $("#ci").val(info.ci);
                                // $("#ci").attr("readonly", "true");
                                $("#nombre").val(info.nombre);
                                $("#apellido").val(info.apellido);
                                $("#email").val(info.correo);
                                $("#phone").val((info.telefono==0?"":info.telefono));
                                $("#sexo").val(info.sexo);
                                $("#fecha").val(info.fecha);
                                $("#idRol").val(info.rol);                             
                                $("#contrato").val(info.contrato);                             
                                $("#passOld").val(info.clave);                             
                                $("#password").val(NOT_EDIT_PASS);                             
                                $("#repetir").val(NOT_EDIT_PASS); 
                                
                                if (info.contrato!=""){
                                    $("#contrato").removeAttr("readonly");
                                }
                            }else{
                                alert(info.msj);
                            }
                        }
                    });
                }

                $("#tituloAgregar").html(title);
                $("#dialog-form").dialog("open");
            }
            
            function deleteU(id) {
                if (confirm("¿Seguro eliminar el usuario seleccionado?")) {

                    $("#id").val(id);
                    $("#"+id).addClass('row_selected');                    

                    $.ajax({
                        data:  $("#formAgregar").serialize(),
                        url:   '<?php echo $_SERVER['HELPER'] ?>?action=usuario&method=delete&result=ajax',
                        type:  'post',
                        beforeSend: function () {
                        },
                        success:  function (data) {                            
                            var info = JSON.parse(data);
                                                        
                            alert(info.msj);
                                
                            if (info.estatus == AJAX_SUCCESSFUL) {
                                $("#data-u").dataTable().fnDeleteRow($("#data-u").dataTable().$('tr.row_selected')[0]);                                
                            }                                    
                        }                                    
                    });
                }                                 
            }
           
        </script>
    </head>
    <body>      
        <?php include_once 'header.php'; ?> 
        <div id="main">
            <div class="column-left">
                <?php include_once 'lateral.php'; ?> 
            </div>
            <div class="column-center" style="text-align: right;">
                <div style="text-align: left;">
                    <h2>Usuarios Registrados</h2>
                    <img alt=""  src="../images/user_add.png" width="32" height="32" class="pointer"
                         onclick="saveOrUpdate(0);"/>
                </div>                
                <table id="data-u" border="0" class="table">
                    <thead>
                        <tr>
                            <th>C.I.</th>
                            <th>NOMBRE</th>
                            <th>APELLIDO</th>
                            <th>CORREO</th>
                            <th>ROL</th>
                            <th></th>
                            <th></th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        $i = 0;
                        $usuario = new Usuario();
                        $listaUsuarios = unserialize($_SESSION['listaUsuarios']);

                        for ($i = 0; $i < count($listaUsuarios); $i++) {
                            $usuario = $listaUsuarios[$i];
                            ?>                                
                            <tr id="<?php echo $usuario->getId(); ?>">
                                <td><?php echo $usuario->getNacionalidad() . $usuario->getCedula() ?></td>
                                <td><?php echo $usuario->getNombre(); ?></td>
                                <td><?php echo $usuario->getApellido(); ?></td>
                                <td><?php echo $usuario->getCorreo(); ?></td>
                                <td><?php echo $usuario->getRol()->getDescripcion(); ?></td>
                                <td>
                                    <img src="../images/user_edit.png" alt="" class="pointer" width="16" height="16"
                                         title="Actualizar" onclick="saveOrUpdate(<?php echo $usuario->getId(); ?>)"/>
                                </td>
                                <td>
                                    <img src="../images/user_remove.png" alt="" class="pointer" width="16" height="16" 
                                         title="Eliminar" onclick="deleteU(<?php echo $usuario->getId(); ?>)"/>
                                </td>
                            </tr>
                        <?php } ?>
                    </tbody>
                </table>
            </div>
            <div class="column-right">
                <?php include 'right.php'; ?> 
            </div>
        </div>
        <?php include_once 'footer.php'; ?>  
        <?php include_once 'dialog-form.php'; ?>  
    </body>    
</html>